﻿var interval = parseInt($('#refreshinterval').val()) * 1000;  //interval, MSec (1000 = 1 sec.)
var statuslist = $('#statuslist');
$(function() {
    setInterval(getOrderList, interval);
});

function afterInitTable() {
    reloadStatusList();
}

function getOrderList() {
    reloadTable(tableUrl, { nolayout: 'true', timestamp: new Date() }, initTable);
    //reloadStatusList();    
}

function reloadStatusList() {
    statuslist.load(base + 'order.ivp/getstatusesinfo', { nolayout: 'true', timestamp: new Date() }); 
}

function statusIdChange(obj, statusid) {
    var obj = $(obj);
    if (obj.parent().hasClass('selected')) return false;
    if (!loading) {
        loading = true;
        $(tableRootDiv).load(tableUrl, { tb_statusid: statusid, nolayout: 'true', timestamp: new Date() }, function() {
            initTable();
            $('ul.statusfilterlist li.selected').removeClass('selected');
            obj.parent().addClass('selected');
        });
    }
    return false;
}

function showActionMenu(obj, orderid) {
    removeActionMenu();
    
    var obj = $(obj);
    var offset = obj.offset();

    $('body').append('<div id="actionmenuholder" class="actionmenuholder hidden widtрpx" onBlur="return removeActionMenu();"></div>');

    var menu = $('#actionmenuholder');


    menu.load('order.ivp/getActionMenu', { nolayout: 'true', timestamp: new Date(), orderid: orderid }, function() {
        menu.addClass('popupwrapper').css('top', offset.top + obj.height() - 5).css('left', offset.left);
        menu.bgiframe().show();
    });

   // menu.focusout(function() { removeActionMenu(); });

    //если меню так и не отобразилось, то, возможно, возникли проблемы и на всякий случай
    //if (menu.hasClass('hidden'))
      //  getOrderList();
                                   
    return false;
}

function removeActionMenu() {
    var menuholder = $('#actionmenuholder');
    
    if (menuholder.length > 0)
        menuholder.remove();

    return false;
}

function executeAction(actionLink, params) {
    $.getJSON(base+'order.ivp/'+actionLink, params , function(result) {
        if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
            alert('Операция выполнена успешно');
        }
        else {
            alert('Операция не выполнена.\r\n' + result.Description);
        }
    });
    removeActionMenu();
    getOrderList();
    return false;
}

function checkStatus(obj) {
    var obj = $(obj);

    var next = obj.next();

    if (next.attr('id') != 'commentholder') {
        obj.parent().append('<div id="commentholder" class="warning"><lable for="comment" class="required small" >Введите причину отказа и выполните команду повторно.</label><br/><textarea id="comment" style="width: 98%;"/>')
        return false;
    }
    
    if ($('#comment').val().length > 0)
        return true;
        
    return false;
}

function editOrder(id) {
    document.location.href = base + 'order.ivp/edit/'+id;
}